<%--
    Document   : executors
    Created on : 15.05.2011, 14:17:12
    Author     : 647_2
--%>

<%@page import="Access.ExecutorsRemote"%>
<%@page import="ExtEntities.VeryExtExecutor"%>
<%@page import="Entities.Executor"%>
<%@page import="ExtEntities.VeryExtGroup"%>
<%@page import="ExtEntities.ExtAlbum"%>
<%@page import="ExtEntities.VeryExtAlbum"%>
<%@page import="Entities.Genre"%>
<%@page import="Entities.Album"%>
<%@page import="Access.AlbumsRemote"%>
<%@page import="Access.GenresRemote"%>
<%@page import="Access.GroupsRemote"%>
<%@page import="Entities.Group"%>
<%@page import="Access.CompositionsRemote"%>
<%@page import="ExtEntities.VeryExtComposition"%>
<%@page import="java.util.LinkedList"%>
<%@page import="ExtEntities.ExtComposition"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="params.Params"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

        <%
                   int mode = 0;
                   int ID = 0;
                   int _page = 0;
                   String title = "";
                   LinkedList<Executor> exs = new LinkedList<Executor>();
                   VeryExtExecutor vex = new VeryExtExecutor();
                   int start = 0;

                   if (request.getParameter("mode") != null){
                     mode = Integer.parseInt(request.getParameter("mode"));
                   } else {
                     mode = 0;
                   }

                   InitialContext ic = new InitialContext();
                   ExecutorsRemote ex = (ExecutorsRemote)ic.lookup(ExecutorsRemote.class.getName());

                   switch (mode){
                       case 1: //one
                           if (request.getParameter("ID") != null){
                             ID = Integer.parseInt(request.getParameter("ID"));
                           } else {
                             ID = 0;
                           }

                           vex = ex.getFullExecutor(ID);

                           title = "Подробная информация об исполнителе " + vex.getFio();
                         break;

                       case 0: //all
                       default:
                           if (request.getParameter("page") != null){
                             _page = Integer.parseInt(request.getParameter("page"));
                           } else {
                             _page = 1;
                           }

                           start = (_page - 1) * 10;

                           exs = ex.getAllExecutors(start, 10);

                           title = "Список всех исполнителей, страница " + _page;
                        break;
                   }

        %>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title><% out.print(title + " - " + Params.getSiteName()); %></title>
    </head>
    <body>
        <% out.print(Params.getHeader(title)); %>
        <%


               switch (mode){

                   case 1:

                       if (vex != null){

                       out.println("<a href=\"" + Params.getSiteURL() + "editexecutor.jsp?mode=2&ID=" + vex.getID() + "\">[править]</a><br />");
                       out.println("ФИО исполнителя: " + vex.getFio() + ", ID в базе исполнителей: " + vex.getID() + "<br />");
                       out.println("Дата рождения: " + vex.getDate() + "<br />");
                       out.println("Информация: " + vex.getInfo() + "<br />");

                       out.println("<br />Играет в группах: ");
                       for (int j = 0; j < vex.getGroups().size(); j++){
                               if (j < vex.getGroups().size() - 1){
                                    out.println("<a href=\"" + Params.getSiteURL() + "groups.jsp?mode=1&ID=" + vex.getGroups().get(j).getIDAsInt() +"\">" + vex.getGroups().get(j).get_name() + "</a>, ");
                               } else {
                                    out.println("<a href=\"" + Params.getSiteURL() + "groups.jsp?mode=1&ID=" + vex.getGroups().get(j).getIDAsInt() +"\">" + vex.getGroups().get(j).get_name() + "</a>");
                               }
                       }

                       out.println("<br />Играет на инструментах: ");
                       for (int j = 0; j < vex.getInstruments().size(); j++){
                               if (j < vex.getInstruments().size() - 1){
                                    out.println(vex.getInstruments().get(j).get_name() + ", ");
                               } else {
                                    out.println(vex.getInstruments().get(j).get_name());
                               }
                       }

                       } else {
                          out.println("Данный альбом не найден в базе");
                       }
                     break;
                   case 0:
                   default:
                       out.println("<a href=\"" + Params.getSiteURL() + "editexecutor.jsp?mode=0\">[добавить нового исполнителя]</a><br />");

                       if (exs != null){

                       out.println("<table><tr><td><b>ID</b></td><td><b>ФИО</b></td><td><b>Дата рождения</b></td><td><b>Информация</b></td></tr>");
                       for (int i = 0; i < exs.size(); i++){
                           out.println("<tr><td><a href=\"executors.jsp?mode=1&ID=" + exs.get(i).getIDAsInt() + "\">" + exs.get(i).getIDAsInt() + "</a></td><td><a href=\"executors.jsp?mode=1&ID=" + exs.get(i).getIDAsInt() + "\">" + exs.get(i).get_FIO() + "</a></td><td>" + exs.get(i).get_dateOfBirth() + "</td><td>" + exs.get(i).get_info() + "</td></tr>");
                       }
                       out.println("</table>");

                       LinkedList<Executor> tempex = ex.getAllExecutors();

                       int pages = tempex.size() / 10;
                       if ((tempex.size() % 10) > 0){pages++;}

                       for (int i = 1; i <= pages; i++){
                          if (_page == i){
                              out.print("<b>[" + i + "]</b> ");
                          } else {
                              out.print("<a href=\"" + Params.getSiteURL() + "groups.jsp?mode=" + mode + "&page=" + i + "&ID=" + ID + "\">[" + i + "]</a> ");
                          }
                       }

                       } else {
                          out.println("Ничего не найдено");
                       }
               }
        %>
        <% out.print(Params.getFooter()); %>
    </body>
</html>
